<script>
	import http from 'common/js/http/'
	export default {
		onLaunch: function(options) {
			// #ifdef APP-PLUS
			//锁定屏幕
			plus.screen.lockOrientation('portrait-primary');
			const dom = weex.requireModule('dom');
			dom.addRule('fontFace', {
				'fontFamily': "graceIconfont",
				'src': "url('/static/grace.ttf')"
			});
			// #endif

			// return;

			function getUrlParam(name) {
				var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
				let url = window.location.href.split('#')[0]
				let search = url.split('?')[1]
				if (search) {
					var r = search.substr(0).match(reg)
					if (r !== null) return unescape(r[2])
					return null
				} else {
					return null
				}
			}
			//getUrlParam('code') 调用一下就能拿到 code 结果，然后用这个 code 去调后台的接口让后台去微信后台拿openID。  
			function wxAuthorize() {
				let link = window.location.href;
				// let params = this._getUrlParams(link);  // 地址解析  
				//console.log(link);  

				let params = getUrlParam('code'); // 地址解析 
				// let invitationCode = getUrlParam('invitationCode');  // 地址解析 
				let invitationCode = '';
				if (options?.query.code) {
					invitationCode = options?.query.code
				}
				// 已经授权登录过的就不用再授权了  
				// if (store.state.token) return;  

				// 如果拿到code，调用授权接口，没有拿到就跳转微信授权链接获取   
				// if (params.code) {  
				if (params) {
					uni.request({
						url: `${http.config.baseUrl}/api/oauth/login`, //仅为示例，并非真实接口地址。
						data: {
							code: params,
							invitationCode: invitationCode
						},
						header: {
							'Content-type': 'application/x-www-form-urlencoded'
						},
						method: "POST",
						dataType: "json",
						success: (res) => {
							console.log('登录', res);
							if (res.data.code == 200) {
								let result = res.data.data
								uni.setStorageSync('token', result.token)
							} else {
								/* uni.showToast({
									icon: 'none',
									title: res.data.msg
								}); */
							}
						}
					});
				} else {
					let appid = 'wx444883882d3f1302';
					// let appid = 'wx37dfcbcde5d51bb3';  
					//1.使用encodeURIComponent以及JSON.stringify()方法对对象进行字符串化和编码，这样可以控制url参数的长度，参考示例代码（uni-app书写方式，微信小程序自己改。）  

					let uri = encodeURIComponent(link);
					console.log(uri);
					//2.接受信息的页面使用JSON.parse()以及decodeURIComponent()接收和解码参数。    
					//snsapi_base   //snsapi_base    scope = snsapi_base（不弹出授权页面，直接跳转，只能获取用户 openid ）。  
					//snsapi_userinfo  弹出  
					let authURL =
						`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
					window.location.href = authURL;
				}
			}
			let userId = this.getUrlParam('userId', location.href)
			if (!userId) {
				wxAuthorize()
			}
		},
		onShow: function() {},
		onHide: function() {},
		methods: {
			getUrlParam(name, httpCode) {
				var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
				let url = httpCode
				console.log(url);
				if (url.includes('?')) {
					let urlParam = url.split('?')[1].split('#')[0].match(reg)
					console.log(urlParam);
					if (urlParam !== null) return unescape(urlParam[2])
					return null;
				}
			}
		}
	}
</script>
<style lang="scss">
	/* 加载框架核心样式 */
	@import "./GraceUI5/css/graceUI.css";
	/* 加载主题样式 */
	@import "./GraceUI5/skin/black.css";


	@import "./static/common.scss";

	/* 加载图标字体 - 条件编译模式 */
	/* #ifdef APP-NVUE */
	.gui-icons {
		font-family: graceIconfont;
	}

	/* #endif */
</style>